package cn.wolfcode.crm.mapper;

import cn.wolfcode.crm.domain.Claimresult;
import cn.wolfcode.crm.query.ObjectQuery;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface ClaimresultMapper {

    int insert(Claimresult record);

    Claimresult selectByPrimaryKey(Long id);

    List<Claimresult> selectAll();

    int queryForCount(ObjectQuery qo);

    List<Claimresult> queryForList(ObjectQuery qo);

    /**
     * 更改状态
     *
     * @param clientId 传入的需要更改状态的客户的id
     * @param payState 传入需要更改的状态
     */
    void updateClaimState(@Param("clientId") Long clientId, @Param("payState") int payState);

    /**
     * 根绝传入的客户id删除相对应的行
     * @param insurerId 客户id
     */
    void deleteByInsurerId(Long insurerId);

    /**
     * 通过客户id获取到该客户的赔付信息
     * @param insurerId 传入的客户的id
     * @return
     */
    Claimresult getDetailByInsurerId(Long insurerId);

    /**
     * 报表查询用
     * @return
     */
    List<Map<String,Object>> list(ObjectQuery qo);

    int selectClaimResultAccount();
}